package com.zzm.shortlink.project.dao.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.zzm.shortlink.project.common.database.BaseDO;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.Builder;

import java.util.Date;

/**
 * 短链接分组实体
 */
@Data
@TableName("t_group")
/*
 提供了一个构建器，这样你就可以使用链式调用来逐步设置属性，并通过build()方法创建实例。
 */
@Builder
/*
 * @NoArgsConstructor：这个注解会为类自动生成一个无参构造器。如果类中没有显式定义任何构造器，Java 编译器会默认提供一个无参构造器。
 *  但是，如果你定义了其他带参数的构造器，那么编译器就不会再提供无参构造器。在这种情况下，使用 @NoArgsConstructor 注解可以确保无参构造器的存在。
 * @AllArgsConstructor：这个注解会为类自动生成一个全参构造器，其中包含类中所有字段的参数。这意味着每个非静态字段都将有一个对应的参数。
 */
@NoArgsConstructor
@AllArgsConstructor
public class GroupDO extends BaseDO {

    /**
     * id
     */
    private Long id;

    /**
     * 分组标识
     */
    private String gid;

    /**
     * 分组名称
     */
    private String name;

    /**
     * 创建分组用户名
     */
    private String username;


    /**
     * 分组排序
     */
    private Integer sortOrder;

}
